<?php
require dirname(dirname(__FILE__)).'/common.php';
class LyCacheTest extends PHPUnit_Framework_TestCase {
	/**
	 * 测试常用方式
	 *
	 */
	function test1(){
		//signton会自动调用lycache::setOptions()函数
		//cache组件配置在cacheDir/LyCache.ini里.
		//cache组件采用ttl方式缓存,过期的内容自动清除,
		//cache组件没有del接口.
		//cache组件add()接口默认可以覆盖已存在的key
		$cache = AppUtil::signton('LyCache');
		$var1 = 'data to cache.....';
		$cache->fileAdd('var1',$var1);
		$this->assertEquals($cache->fileGet('var1'),$var1);
		/**
		 * 同key用add()的话,会覆盖原来的值
		 */
		$var11 = 'skjdflkasjdflwe';
		$cache->fileAdd('var1',$var11);
		$this->assertEquals($cache->fileGet('var1'),$var11);
		//数组会自己序列化和反骗序列化
		$var2 = array('sdfsdf','adfadfaw','adfwehfaw');
		$cache->fileAdd('array',$var2);
		$this->assertEquals($cache->fileGet('array'),$var2);
		
		$var3 = 'lsdfjlskdjfs';
		//$ttl = 1800秒
		$cache->fileAdd('var3',$var3,1800);
		$this->assertEquals($cache->fileGet('var3'),$var3);
		
	}
	/**
	 * 测试连贯操作
	 *
	 */
//	function test2(){
//		$cache = AppUtil::signton('LyCache');
//		//连贯设ttl
//		$var5 = 'lsdfjlskjfls';
//		$cache->ttl(6)->add('var5',$var5);
//		$this->assertEquals($cache->get('var5'),$var5);
//		
//		$var6 = array('lsdjf','sldfjla','klsdflwejflw');
//		$cache->ttl(10)->adapter('phps')->add('var6',$var6);
//		$this->assertEquals('var6',$var6);
//	}
}